package cc.lucien.demo210419;

import java.util.Scanner;

/**
 * 【程序6】   
 * 题目：输入两个正整数m和n，求其最大公约数和最小公倍数。   
 * 分析： 在循环中，只要除数不等于0，用较大数除以较小的数，
 * 将小的一个数作为下一轮循环的大数，取得的余数作为下一轮循环的较小的数，
 * 如此循环直到较小的数的值为0，返回较大的数，此数即为最大公约数，最小公倍数为两数之积除以最大公约数。
 */
public class Demo06 {
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        int min;
        int max;
        if (m == 0 || n == 0)
            throw new Exception("输入数据非法");
        if (m > n){
            max = m;
            min = n;
        }else {
            max = n;
            min = m;
        }
        do {
            if (min != 0){
                int temp = min;
                min = max % min;
                max = temp;
            }
        }while (min != 0);
        System.out.println("最大公约数为：" + max + ", 最小公倍数为：" + n * m / max);
    }
}
